print("欢迎使用三乐购物系统".center(100,"*"))
ulist= {'root':['123456',10000],'admin':['admin',10000]}
product_list = {'F00001':['chanel', 8800,1000],'F00002':['iphone', 8000,100],'F00003':['huawai',5000,10000],'F00004':['lamer',2000,1000],
             'F00005':['hr', 500,100],'F00006':['aliware', 8000,100],'F00007':['tomfod',300,1000]}
product ={}
scart={}



def addgoods(product, num,index):
    if num.isdigit():
        num = int(num)

        if index not in scart:
          scart.update(product)
          scart[index][2]= num
        else:
            # 修改指定键的值
            scart[index][2] += num
        print("商品添加成功")
    else:
        print("数量输入有误")



def delgoods(index1, num):

    if num.isdigit():
        num = int(num)
        if num >= scart[index1][2]:
            # 删除该商品的全部
            scart.pop(index)
        else:
            # 删除该商品指定的数量
            scart[index1][2] -= num
        print("商品删除成功")
    else:
        print("数量输入有误")


uname = input("请输入用户名（输入quit退出）：")
if uname == 'quit':
    print("您已退出".center(100,'*'))

elif uname in ulist:
        upwd = input("请输入密码：")
        if ulist[uname][0] == upwd:
            print("欢迎您的光临".center(100,'*'))

        else:
            print("对不起，密码错误！")
else:
        print("对不起！用户名错误")


print(f"请确认您的余额： {ulist[uname][1]}")
if int(ulist[uname][1])==0:
       ulist[uname][1]=input("您好！请输入需要充值的金额(输入quit退出)")
if ulist[uname][1]== 'quit':
       print("您已退出".center(100, '*'))
ulist[uname][1] =int(ulist[uname][1])
while True:
              print("本购物系统目前可为您提供如下服务:".center(50,"*"),"\n""0.充值  1.添加商品进购物车  2.从购物车删除商品  3.结算购物车  4.退出超市")
              choice =input("请输入您所需要的服务 ：")
              if choice in ["0", "1", "2", "3","4"]:
                  if choice == '0':
                      add= input("您好！请输入需要充值的金额(输入quit退出)")
                      if add=="quit":
                          print("您已退出".center(100, '*'))
                          break
                      ulist[uname][1]+=int(add)
                  if choice == '1':
                      print("本店的商品如下：\n")
                      for i in product_list:
                          print(f"编号——————{i}，商品名——————{product_list[i][0]},余量——————{product_list[i][2]}")

                      index = input("请输入你需要购买的商品编号：")
                      if index in product_list:

                            product[index] = product_list[index]

                            num = input("请输入需要购买的数量： ")
                            if int(num) <=product_list[index][2]:
                             if int(num) * product[index][1] > ulist[uname][1]:
                                  print("金额不足，请充值")
                                  ulist[uname][1] += int(input("请输入需要充值的金额："))
                                  print("充值成功，余额为：%d" %  ulist[uname][1])
                             else:
                                  # 减去商品价格
                                  ulist[uname][1] -= int(num) * product[index][1]
                                  product_list[index][2] -= int(num)
                                  addgoods(product, num, index)
                            else:
                                  print("库存不足，请重新输入要购买的商品数量")
                      else:
                           print("商品的编号输入有误")

                  elif choice == '2':
                      # 删除
                      index1 = input("请输入需要删除的商品名称编号：")
                      num = input("请输入需要删除的商品的数量：")
                      if index1 in scart:
                         ulist[uname][1] += int(num) * product[index][1]
                         delgoods(index1, num)

                  elif choice == '3':
                      # 结算购物车
                      print("----------你已经购买了如下商品----------")
                      for key ,value in scart.items():
                          print(f"商品编号{key}___商品名称{value[0]}___单价___{value[1]}购买数量___{value[2]}")
                      scart.clear()
                      print(f"你还剩余{ulist[uname][1]}元")
                  elif choice == '4':
                     # 退出
                     print("欢迎再次光临")
                     break


